﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;

namespace Raw1.DTOs
{
    /// 
    /// Summary description for the DemoDTO.
    /// 
    public class FileSystemDTO : DTO
    {
        // Variables encapsulated by class (private).
        private string _fileName = String.Empty;
        private string _directory = String.Empty;
        private DateTime? _created = null;
        private DateTime? _modified = null;
        private String _message = String.Empty;



        public FileSystemDTO()
        {
        }

        ///Public access to the FileName field.
        ///String
        [XmlElement(IsNullable=true)]
        public string FileName
        {
            get
            {
                return this._fileName;
            }
            set
            {
                this._fileName = value;
            }
        }

        ///Public access to the Directory field.
        ///String
        [XmlElement(IsNullable=true)]
        public string Directory
        {
            get
            {
                return this._directory;
            }
            set
            {
                this._directory = value;
            }
        }

        //Public access to the Directory field.
        ///String
        [XmlElement(IsNullable = true)]
        public string FullName
        {
            get
            {
                return String.Format("{0}\\{1}", this._directory, this.FileName);
            }
        }

        ///Public access to the Created field.
        ///String
        [XmlElement(IsNullable=true)]
        public DateTime? Created
        {
            get
            {
                return this._created;
            }
            set
            {
                this._created = value;
            }
        }

        ///Public access to the Modified field.
        ///String
        [XmlElement(IsNullable=true)]
        public DateTime? Modified
        {
            get
            {
                return this._modified;
            }
            set
            {
                this._modified = value;
            }
        }

        ///Public access to the Message field.
        ///String
        [XmlElement(IsNullable = true)]
        public String Message
        {
            get
            {
                return this._message;
            }
            set
            {
                this._message = value;
            }
        }
    }
}
